From b92f4177aab07c23bbef97ffc438cb630b530a8a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Mon, 18 May 2020 14:02:32 +0200 Subject: [PATCH] builder-tool Make preview closeable --- gtk/tools/gtk-builder-tool-preview.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gtk/tools/gtk-builder-tool-preview.c b/gtk/tools/gtk-builder-tool-preview.c index 473aabd558..d40b9d96a3 100644 --- a/gtk/tools/gtk-builder-tool-preview.c +++ b/gtk/tools/gtk-builder-tool-preview.c @@ -50,6 +50,17 @@ set_window_title (GtkWindow *window, g_free (name); } +static void +quit_cb (GtkWidget *widget, + gpointer user_data) +{ + gboolean *is_done = user_data; + + *is_done = TRUE; + + g_main_context_wakeup (NULL); +} + static void preview_file (const char *filename, const char *id, @@ -59,6 +70,7 @@ preview_file (const char *filename, GError *error = NULL; GObject *object; GtkWidget *window; + gboolean done = FALSE; if (cssfile) { @@ -144,8 +156,9 @@ preview_file (const char *filename, } gtk_window_present (GTK_WINDOW (window)); + g_signal_connect (window, "destroy", G_CALLBACK (quit_cb), &done); - while (TRUE) + while (!done) g_main_context_iteration (NULL, TRUE); g_object_unref (builder); -- 2.30.2